#ifndef __TwShaderTerrain_H__
#define __TwShaderTerrain_H__

#include "TwD3DHeaders.h"
#include "TwShader.h"

class TwTerrain;

class TwShaderTerrain : public TwShader
{
public:
	TwShaderTerrain(TwTerrain* terrain);
	~TwShaderTerrain();

protected:
	virtual void renderImp(TwCamera* camera);
	virtual bool initialize();

protected:
	D3DXHANDLE			mTechnique;
	D3DXHANDLE			mWorld;
	D3DXHANDLE			mView;
	D3DXHANDLE			mProjection;
	D3DXHANDLE			mAmbienColor;
	D3DXHANDLE			mDiffuseColor;
	D3DXHANDLE			mDiffuseDirection;
	D3DXHANDLE			mCameraPosition;
	D3DXHANDLE			mTexture[TwTerrainLayers];

	TwTerrain*			mTerrain;
};

#endif //__TwShaderTerrain_H__